package cn.tedu.justone.pack03日期;

import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;

/**
 * ZZ：JustOne
 * VX：Andylau2020smile
 * DY：JustOne2018
 * ZT：《》
 */
public class Demo03_LocalDate配合TemporalAjusters {
    public static void main(String[] args) {
        //
        //TemporalAjusters
        //
        // 1,TemporalAjuster是一个接口，LocalDate实现了该接口。
        //   但一般都使用它的实现类TemporalAjusters(带s的)
        // 2,本篇主要介绍实现类TemporalAjusters的常用方法
        //   主要是获取年月日的第一天和最后一天

        LocalDate localDate = LocalDate.parse("2000-09-10");

        //获取该localDate当月的第一天 和 最后一天
        LocalDate ld1 = localDate.with(TemporalAdjusters.firstDayOfMonth());
        System.out.println(ld1);//2000-09-01
        LocalDate ld2 = localDate.with(TemporalAdjusters.lastDayOfMonth());
        System.out.println(ld2);//2000-09-30

        //获取该localDate下月的第一天
        LocalDate ld3 = localDate.with(TemporalAdjusters.firstDayOfNextMonth());
        System.out.println(ld3);//2000-10-01

        //获取该localDate当年的第一天 和 最后一天
        LocalDate ld4 = localDate.with(TemporalAdjusters.firstDayOfYear());
        System.out.println(ld4);//2000-01-01
        LocalDate ld5 = localDate.with(TemporalAdjusters.lastDayOfYear());
        System.out.println(ld5);//2000-12-31

        //获取该localDate明年的第一天
        LocalDate ld6 = localDate.with(TemporalAdjusters.firstDayOfNextYear());
        System.out.println(ld6);//2001-01-01

    }
}











